package me.zhengjie.dao;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.Getter;
import org.springframework.data.annotation.CreatedDate;

import java.io.Serializable;
import java.math.BigInteger;
import java.util.Date;

/**
 * 出库任务
 * @TableName iws_out_bound_task
 */
@TableName(value ="iws_out_bound_task")
@Data
public class OutBoundTaskDao implements Serializable {
    /**
     * 主键ID
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 出库单编号
     */
    @TableField(value = "product_out_bound_order_no")
    private String productOutBoundOrderNo;


    /**
     * 状态
     */
    @TableField(value = "status")
    private Integer status;

    /**
     * 任务起点
     */
    @TableField(value = "task_start")
    private String taskStart;

    /**
     * 任务终点
     */
    @TableField(value = "task_end")
    private String taskEnd;

    /**
     * 优先级
     */
    @TableField(value = "priority")
    private Integer priority;

    /**
     * 创建时间
     */
    @CreatedDate
    @TableField(value = "create_time")
    private Date createTime;

    /**
     * 更新时间
     */
    @TableField(value = "update_time")
    private Date updateTime;

    /**
     * 创建人
     */
    @TableField(value = "create_name")
    private String createName;

    /**
     * 更新人
     */
    @TableField(value = "update_name")
    private String updateName;

    /**
     * 完成时间
     */
    @TableField(value = "finish_time")
    private Date finishTime;

    /**
     * 发出仓库
     */
    @TableField(value = "out_warehouse")
    private String outWarehouse;

    /**
     * 任务编号
     */
    @TableField(value = "code")
    private String code;

    /**
     * 出库物料类型
     */
    @TableField(value = "outbound_type")
    private String outboundType;

    /**
     * 出库策略
     */
    @TableField(value = "outbound_policy")
    private  Integer outboundPolicy;

    /**
     * 预约时间
     */
    @TableField(value = "require_time")
    private  Date requireTime;

    /**
     * 物料编码
     */
    @TableField(value = "material_code")
    private  String materialCode;

    /**
     * 物料所需重量
     */
    @TableField(value = "materila_nweight")
    private  Double materilaNweight;

    /**
     * 物料所在库区
     */
    @TableField(value = "mater_house")
    private  String materHouse;
    /**
     * 储位号
     */
    @TableField(value = "outside_id")
    private  String outsideId;

    /**
     * 开始人账号
     */
    @TableField(value = "start_name")
    private  String startName;

    /**
     * 已分拣重量
     */
    @TableField(value = "sorted")
    private  Double sorted;


    /**
     * 查询最小时间
     */
    @TableField(exist = false)
    private  Date smallTime;

    /**
     * 查询最大时间
     */
    @TableField(exist = false)
    private  Date maxTime;


    @TableField(exist = false)
    private static final long serialVersionUID = 1L;


}